Various functionalities have been implemented in devices such as digital set-top-boxes or personal video recorders (PVRs) in order to conveniently manipulate video data. PVRs allow a user to employ one or more indexing techniques or trick modes that include fast forward, slow motion, frame advance, and reverse play in order to provide a more desirable viewing experience to a user. These trick modes may be incorporated in the processing of video data. However, some of these trick modes are not easily implemented when processing MPEG video.
PVRs and digital set-top-boxes may incorporate one or more MPEG video decoders. These video decoders may be used to decode both HD and standard definition (SD) MPEG video streams. However, during processing of HD MPEG video data, the MPEG video decoder typically employs memory resources that are capable of implementing only three or four video frame buffers. Likewise, the processing of SD MPEG video data is limited to the use of the same number of video frame buffers used when HD MPEG is received—three of four video frame buffers. Unfortunately, using a few video frame buffers when performing trick function processing, such as a reverse play or a slow rewind decode on an SD MPEG stream, requires a significant amount of processing resources from the MPEG decoder. When using only a few (i.e., three or four) video frame buffers, the total number of frames processed by the MPEG decoder becomes relatively large when decoding a segment of a particular SD MPEG data stream. Hence, the processing load encountered by MPEG decoder may be significantly undesirable.
Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.